Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:12345678" );
startActivity(callIntent);
package com.android.service;
interface IData
{
int getRoomNum();
}
package com.android.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
public class RoomService extends Service{
private IData.Stub mBinder=new IData.Stub() {
@Override
public int getRoomNum() throws RemoteException {
return 3008;
}
};
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.aidlsampleservice"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
<service android:name="com.android.service.RoomService">
<intent-filter>
<action android:name="com.aidl.service.room"/>
</intent-filter>
</service>
</application>
</manifest>
package com.example.aidlsampleclient;
import com.android.service.IData;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.util.Log;
import android.view.Menu;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
public class MainActivity extends Activity implements View.OnClickListener{
private static final String TAG="MainActivity";
private static final String ROOM_SERVICE_ACTION="com.aidl.service.room";
private Button bindServiceButton;
private Button getServiceButton;
IData mData;
private ServiceConnection conn=new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Log.i(TAG,"----------------onServiceConnected--------");
mData=IData.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.i(TAG,"----------------onServiceDisconnected-------------");
mData=null;
}
};
private void initView()
{
bindServiceButton=(Button)findViewById(R.id.bindServiceButton);
getServiceButton=(Button)findViewById(R.id.getServiceButton);
bindServiceButton.setOnClickListener(this);
getServiceButton.setOnClickListener(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.bindServiceButton:
bindService();
break;
case R.id.getServiceButton:
getService();
break;
default:
break;
}
}
private void bindService()
{
Intent intent=new Intent();
intent.setAction(ROOM_SERVICE_ACTION);
bindService(intent,conn,BIND_AUTO_CREATE);
}
private void getService()
{
try
{
if(mData!=null)
{
int roomNum=mData.getRoomNum();
showLongToast("RoomNum:"+roomNum);
}
}
catch(RemoteException ex)
{
ex.printStackTrace();
}
}
private void showLongToast(String info)
{
Toast.makeText(getBaseContext(), info, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onDestroy() {
super.onDestroy();
unbindService(conn);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/bindServiceButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="BindService"
/>
<Button
android:id="@+id/getServiceButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="GetService"
android:layout_below="@id/bindServiceButton"
/>
</RelativeLayout>
package com.android.service;
import android.os.Parcel;
import android.os.Parcelable;
public class Room implements Parcelable{
//房间号
private int roomNum;
//房间大小
private float roomSpace;
//是否有空调
private boolean hasAirConditioner;
//是否有Wifi
private boolean hasWifi;
//房间内的装饰风格
private String decorativeStyle;
public static final Parcelable.Creator<Room>CREATOR=new Parcelable.Creator<Room>() {
@Override
public Room createFromParcel(Parcel source) {
return new Room(source);
}
@Override
public Room[] newArray(int size) {
return null;
}
};
public Room(int roomNum,float roomSpace,boolean hasAirConditioner,boolean hasWifi,String decorativeStyle)
{
this.roomNum=roomNum;
this.roomSpace=roomSpace;
this.hasAirConditioner=hasAirConditioner;
this.hasWifi=hasWifi;
this.decorativeStyle=decorativeStyle;
}
private Room(Parcel source)
{
roomNum=source.readInt();
roomSpace=source.readFloat();
boolean[]tempArray=new boolean[2];
source.readBooleanArray(tempArray);
hasAirConditioner=tempArray[0];
hasWifi=tempArray[1];
decorativeStyle=source.readString();
}
@Override
public String toString()
{
StringBuilder sb=new StringBuilder();
sb.append("Basic info of room is as follows:\n");
sb.append("RoomNum:"+roomNum+"\n");
sb.append("RoomSpace:"+roomSpace+"\n");
sb.append("HasAirConditioner:"+hasAirConditioner+"\n");
sb.append("HasWifi:"+hasWifi+"\n");
sb.append("Decorative Style:"+decorativeStyle);
return sb.toString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest,int flags) {
dest.writeInt(roomNum);
dest.writeFloat(roomSpace);
dest.writeBooleanArray(new boolean[]{hasAirConditioner,hasWifi});
dest.writeString(decorativeStyle);
}
}
package com.android.service; parcelable Room;
package com.android.service;
import com.android.service.Room;
interface IRoom
{
Room getRoom();
}
package com.android.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
public class RoomService extends Service{
private IRoom.Stub mBinder=new IRoom.Stub() {
@Override
public Room getRoom() throws RemoteException {
Room room=new Room(3008,23.5f,true,true,"IKEA");
return room;
}
};
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
}
package com.example.aidlsampleclient;
import com.android.service.IRoom;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.util.Log;
import android.view.Menu;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
public class MainActivity extends Activity implements View.OnClickListener{
private static final String TAG="MainActivity";
//private static final String SERVICE_ACTION="com.aidl.service.data";
private static final String ROOM_SERVICE_ACTION="com.aidl.service.room";
private Button bindServiceButton;
private Button getServiceButton;
IRoom mRoom;
private ServiceConnection conn=new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Log.i(TAG,"----------------onServiceConnected--------");
showLongToast("onServiceConnected");
mRoom=IRoom.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.i(TAG,"----------------onServiceDisconnected-------------");
mRoom=null;
}
};
private void initView()
{
bindServiceButton=(Button)findViewById(R.id.bindServiceButton);
getServiceButton=(Button)findViewById(R.id.getServiceButton);
bindServiceButton.setOnClickListener(this);
getServiceButton.setOnClickListener(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.bindServiceButton:
bindService();
break;
case R.id.getServiceButton:
getService();
break;
default:
break;
}
}
private void bindService()
{
Intent intent=new Intent();
intent.setAction(ROOM_SERVICE_ACTION);
bindService(intent,conn,BIND_AUTO_CREATE);
}
private void getService()
{
if(mRoom!=null)
{
try
{
showLongToast(mRoom.getRoom().toString());
}
catch (RemoteException e)
{
e.printStackTrace();
}
}
}
private void showLongToast(String info)
{
Toast.makeText(getBaseContext(), info, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
resent.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onDestroy() {
super.onDestroy();
unbindService(conn);
}
}
package com.android.service;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import android.widget.Toast;
public class RoomService extends Service{
private static final String TAG="RoomService";
private static final int CLEAN_SERVICE=0x1;
private static final int ORDER_SERVICE=0x2;
private static final int PACKAGE_SERVICE=0x3;
private static final String SERVICE_KEY="ServiceName";
@Override
public void onStart(Intent intent, int startId) {
showLog("onStart");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//String action=intent.getAction();
Log.i(TAG,"onStartCommand");
int actionFlag=intent.getIntExtra(SERVICE_KEY, -1);
switch(actionFlag)
{
case CLEAN_SERVICE:
showShortToast("Start Clean Service Right Now");
break;
case ORDER_SERVICE:
showShortToast("Start Order Service Right Now");
break;
case PACKAGE_SERVICE:
showShortToast("Start Package Service Right Now");
break;
default:
break;
}
return super.onStartCommand(intent, flags, startId);
}
private void showLog(String info)
{
Log.i(TAG,info);
}
private void showShortToast(String info)
{
Toast.makeText(getBaseContext(), info, Toast.LENGTH_SHORT).show();
}
@Override
public void onDestroy() {
showLog("onDestroy");
super.onDestroy();
}
@Override
public void onCreate() {
showLog("onCreate");
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
showLog("onBind");
return null;
}
@Override
public boolean onUnbind(Intent intent) {
showLog("onUnbind");
return super.onUnbind(intent);
}
}
package com.example.aidlsampleclient;
import com.android.service.IRoom;
import com.android.service.RoomService;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.util.Log;
import android.view.Menu;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
public class MainActivity extends Activity implements View.OnClickListener{
private static final String TAG="MainActivity";
private static final String ROOM_SERVICE_ACTION="com.aidl.service.room";
private static final int CLEAN_SERVICE=0x1;
private static final int ORDER_SERVICE=0x2;
private static final int PACKAGE_SERVICE=0x3;
private static final String SERVICE_KEY="ServiceName";
private Button cleanButton;
private Button orderButton;
private Button packageButton;
private void initView()
{
cleanButton=(Button)findViewById(R.id.cleanButton);
orderButton=(Button)findViewById(R.id.orderButton);
packageButton=(Button)findViewById(R.id.packageButton);
cleanButton.setOnClickListener(this);
orderButton.setOnClickListener(this);
packageButton.setOnClickListener(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.cleanButton:
cleanAction();
break;
case R.id.orderButton:
orderAction();
break;
case R.id.packageButton:
packageAction();
break;
default:
break;
}
}
private void cleanAction()
{
startAction(ROOM_SERVICE_ACTION,CLEAN_SERVICE);
}
private void orderAction()
{
startAction(ROOM_SERVICE_ACTION,ORDER_SERVICE);
}
private void packageAction()
{
startAction(ROOM_SERVICE_ACTION,PACKAGE_SERVICE);
}
private void startAction(String actionName,int serviceFlag)
{
//Intent intent=new Intent(this,RoomService.class);
Intent intent=new Intent();
intent.setAction(actionName);
intent.putExtra(SERVICE_KEY, serviceFlag);
this.startService(intent);
}
private void showLongToast(String info)
{
Toast.makeText(getBaseContext(), info, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
resent.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
package com.android.service;
import com.android.actions.Actions;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import android.widget.Toast;
public class RoomService extends Service{
private static final String TAG="RoomService";
@Override
public void onStart(Intent intent, int startId) {
showLog("onStart");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//String action=intent.getAction();
Log.i(TAG,"onStartCommand");
String action=intent.getAction();
if(Actions.CLEAN_ACTION.equals(action))
{
showShortToast("Start Clean Service Right Now");
}
else if(Actions.ORDER_ACTION.equals(action))
{
showShortToast("Start Order Service Right Now");
}
else if(Actions.PACKAGE_ACTION.equals(action))
{
showShortToast("Start Package Service Right Now");
}
else
{
showShortToast("Wrong action");
}
return super.onStartCommand(intent, flags, startId);
}
private void showLog(String info)
{
Log.i(TAG,info);
}
private void showShortToast(String info)
{
Toast.makeText(getBaseContext(), info, Toast.LENGTH_SHORT).show();
}
@Override
public void onDestroy() {
showLog("onDestroy");
super.onDestroy();
}
@Override
public void onCreate() {
showLog("onCreate");
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
showLog("onBind");
return null;
}
@Override
public boolean onUnbind(Intent intent) {
showLog("onUnbind");
return super.onUnbind(intent);
}
}
package com.android.activity;
import com.android.activity.R;
import com.android.service.RoomService;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
import com.android.actions.Actions;
public class MainActivity extends Activity implements View.OnClickListener{
private static final String TAG="MainActivity";
private static final String SERVICE_KEY="ServiceName";
private Button cleanButton;
private Button orderButton;
private Button packageButton;
private void initView()
{
cleanButton=(Button)findViewById(R.id.cleanButton);
orderButton=(Button)findViewById(R.id.orderButton);
packageButton=(Button)findViewById(R.id.packageButton);
cleanButton.setOnClickListener(this);
orderButton.setOnClickListener(this);
packageButton.setOnClickListener(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.cleanButton:
cleanAction();
break;
case R.id.orderButton:
orderAction();
break;
case R.id.packageButton:
packageAction();
break;
default:
break;
}
}
private void cleanAction()
{
startAction(Actions.CLEAN_ACTION);
}
private void orderAction()
{
startAction(Actions.ORDER_ACTION);
}
private void packageAction()
{
startAction(Actions.PACKAGE_ACTION);
}
private void startAction(String actionName)
{
Intent intent=new Intent(this,RoomService.class);
intent.setAction(actionName);
this.startService(intent);
}
private void showLongToast(String info)
{
Toast.makeText(getBaseContext(), info, Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
resent.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有