android 一些小功能实现

调用发送短信界面



/**

* 调用发送短信界面

*/

public void sendSms() {

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"));

intent.putExtra("sms_body",

getResources().getString(R.string.smscontent));

startActivity(intent);

}



为程序创建桌面快捷方式

/**

* 为程序创建桌面快捷方式

*/

private void addShortcut() {

Intent shortcut = new Intent(

"com.android.launcher.action.INSTALL_SHORTCUT");



// 快捷方式的名称

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,

getString(R.string.youbanradio));

shortcut.putExtra("duplicate", false); // 不允许重复创建



// 指定当前的Activity为快捷方式启动的对象: 如com.everest.video.VideoPlayer

// 注意:ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序

ComponentName comp = new ComponentName(this.getPackageName(), "."

+ this.getLocalClassName());

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(

Intent.ACTION_MAIN).setComponent(comp));



// 快捷方式的图标

ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(

this, R.drawable.icon);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);



sendBroadcast(shortcut);

}

在Mainfest中加入权限

<!-- 创建桌面快捷方式权限 -->

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>



返回首页

/**

* 返回首页

*/

public void goBackMainPage() {

Intent homeIntent = new Intent(Intent.ACTION_MAIN);

homeIntent.addCategory(Intent.CATEGORY_HOME);

startActivity(homeIntent);

setNotiType(R.drawable.icon_small,

getResources().getString(R.string.youbanradio));

}



安装apk

// 安装apk

public void installApk(String name) {

if (name == null || name.length() <= 0 || name.lastIndexOf(".apk") <= 0) {

return;

}

String fileName = Environment.getExternalStorageDirectory()

+ FileUtil.APK_PATH + name;

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setDataAndType(Uri.fromFile(new File(fileName)),

"application/vnd.android.package-archive");

startActivity(intent);

downloadApkName = name;

exit();

}


TelephonyManager tm =(TelephonyManager) getSystemService(Service.TELEPHONY_SERVICE);

tm.listen(newTeleStateListener(), PhoneStateListener.LISTEN_CALL_STATE);



class TeleStateListener extends PhoneStateListener {



@Override

public void onCallStateChanged(int state, String incomingNumber) {

// TODO Auto-generatedmethod stub

super.onCallStateChanged(state, incomingNumber);



AudioPlayer mPlayer = AppConst.getInstance()

.getAudioPlayerController().getAudioPlayer();



switch (state) {

case TelephonyManager.CALL_STATE_OFFHOOK:

break;

case TelephonyManager.CALL_STATE_IDLE:

if (mPlayer.getStartPlayState()) {

if (!mPlayer.getPlayer().isPlaying() &&!mPlayer.isPause()) {

mPlayer.getPlayer().start();

}

}

break;

case TelephonyManager.CALL_STATE_RINGING:

if (mPlayer.getStartPlayState()) {

if (mPlayer.getPlayer().isPlaying()) {

mPlayer.getPlayer().pause();

}

}

break;

}

}



}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值