android反馈与建议时获取设备号包名那些东西

要写反馈与建议模块的时候总结了一下,

// 获取packagemanager的实例
        PackageManager packageManager = (ApplicationLoader.getContext()).getPackageManager();
        // getPackageName()是你当前类的包名,0代表是获取版本信息
        PackageInfo packInfo = packageManager.getPackageInfo(ApplicationLoader.getContext().getPackageName(),0);
        String bundle_version =  "" + packInfo.versionCode;
        String bundle_identifier = packInfo.packageName;
        String bundle_short_version = packInfo.versionName;//软件版本

//获取手机版本

String os_version = android.os.Build.VERSION.RELEASE;
//  获得设备生产商,摩托,三星等等
  String oem = Build.MANUFACTURER.toLowerCase();

//手机型号
  String model = android.os.Build.MODEL;

//国际移动用户识别码

TelePhoneManager tg =(TelePhoneManager) context.getSystemService(Context.TELEPHONY_SERVICE) 
  
  // 当前时间戳
  SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
  Date curDate = new Date(System.currentTimeMillis());//获取当前时间
  String feedbackdate = formatter.format(curDate);

 

接下来我用异步任务AsynacTask处理post到服务器,把以上数据封装进数组集合对象中,

List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("text", arg0[0]));

    ········

利用JSONObject jo = HttpUtil.jsonPost(Config.webFun_USER_FEED_BACK, params);获取返回值

 

---需要添加一个权限<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过使用 ActivityManager 获取栈顶应用的包名,以下是获取栈顶应用包名的示例代码: ```java ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); String packageName = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName(); ``` 需要注意的是,从 Android 5.0 开始,Google 将获取栈顶应用的 API 设置为了废弃状态,因此上述代码在 Android 5.0 及以上版本的设备上可能会出现警告。你可以使用以下代码来解决这个问题: ```java if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { UsageStatsManager usageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE); long time = System.currentTimeMillis(); List<UsageStats> usageStatsList = usageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time); if (usageStatsList != null && usageStatsList.size() > 0) { UsageStats usageStats = usageStatsList.get(0); packageName = usageStats.getPackageName(); } } else { ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); packageName = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName(); } ``` 这段代码首先判断设备Android 版本是否大于等于 5.0,如果是,则使用 UsageStatsManager 获取栈顶应用包名,否则使用 ActivityManager 获取栈顶应用包名。需要注意的是,使用 UsageStatsManager 需要用户授权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值